<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>46_对象的简介.html</title>
    <script type="text/javascript">

        /*
            对象是一种复合的数据类型，在对象中可以保存多个不同数据类型的属性

            对象的分类：
                1.内建对象
                    - 由ES标准中定义的对象，在任何的ES的实现中都可以实现
                    - 比如Math String Number Boolean Function Object ....
                2.宿主对象
                    - 由JS的运行环境提供的对象，目前来讲主要指浏览器提供的对象
                    - 比如BOM DOM
                3.自定义对象
                    - 由开发人员自已创建的对象

        */

        //创建对象
        /*
            使用new关键字调用的函数，是构造函数constructor
            构造函数是专门用来创建对象的函数
            使用typeof检查一个对象时，会返回object
        */
        var obj = new Object(); 
        // console.log(typeof obj);

        /*
            向对象中添加属性
                语法：对象.属性名 = 属性值
        */

        //向obj中添加一个name属性
        obj.name = "孙悟空";
        obj.gender = "男";
        obj.age = 18;

        /*
            读取对象的属性
            语法：对象.属性名
            如果读取一个不存在的属性，返回undefined
        */

        console.log(obj.name);
        console.log(obj.hello);

        /*
            修改对象的.属性名 = 新值
        */
       obj.name = "tom";
       console.log(obj);

        /*
            删除对象的属性
            语法：delete 对象.属性名
        */
        delete obj.name;

        console.log(obj.name);

    </script>
</head>
<body>
    
</body>
</html>